import java.util.ArrayList;
import java.util.List;

public class BasketballClub {
    // 篮球俱乐部类，包含运动员和教练的列表
    private List<BasketballSporter> sporters;
    private List<BasketballCoach> coaches;

    // 构造函数，初始化运动员和教练列表
    public BasketballClub() {
        this.sporters = new ArrayList<>();
        this.coaches = new ArrayList<>();
    }
    // 添加运动员的方法
    public void addSporter(BasketballSporter Sporter) {
        sporters.add(Sporter);
        System.out.println(Sporter.getName() + " 加入了篮球俱乐部。");
    }
    // 添加教练的方法
    public void addCoach(BasketballCoach Coach) {
        coaches.add(Coach);
        System.out.println(Coach.getName() + " 成为了篮球俱乐部的教练。");
    }
    // 组织训练和比赛的方法
    public void organizeTraining() {
        System.out.println("篮球俱乐部组织训练活动：");
        // 遍历教练和运动员列表，调用相应的方法
        for (BasketballCoach Coach : coaches) {
            Coach.teach();
        }
        for (BasketballSporter Sporter: sporters) {
            Sporter.train();
        }
    }
    public void organizeMatch() {
        System.out.println("篮球俱乐部组织比赛活动：");
        // 遍历教练和运动员列表，调用相应的方法
        for (BasketballSporter Sporter : sporters) {
            Sporter.participateMatch();
        }
    }
    // 显示俱乐部统计信息的方法
    public void showClubStats() {
        System.out.println("篮球俱乐部统计信息：");
        // 遍历教练和运动员列表，调用相应的方法
        //检查列表是否为空，避免空指针异常
        if (coaches!=null) {
            for (BasketballCoach Coach : coaches) {
                Coach.showTraineeStats();
            }
        }
        if (sporters!=null) {
            for (BasketballSporter Sporter : sporters) {
                Sporter.showMatchStats();
            }
        }
    }
}
